<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"  xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
    <style>
        a{
            color: #005980;
        }
        .widget-small{
            background-color: #FFFFFF;
            overflow: hidden;
            text-align: center;
            border-radius: 2px;
            box-shadow: 0 1px 2px 0 rgba(0,0,0,.05);
        }
        .widget-small .fa{
            float: left;
            width: 40%;
            line-height: 80px;
            color: #FFFFFF;
        }
        .widget-user .fa{
            background-color: #029789;
        }
        .widget-visit .fa{
            background-color: #17a2b8;
        }
        .widget-message .fa{
            background-color: #fbad4c;
        }
        .widget-like .fa{
            background-color: #ff646d;
        }
        .widget-small-info{
            float: left;
            text-align: left;
            width: 40%;
            margin-left: 20px;
            margin-top: 18px;
            line-height: 24px;
        }
        .widget-small-info h4{
            font-size: 18px;
        }
        .widget-small-info span{
            font-size: 16px;
        }
        .project-introduce{
            min-height: 466px;
        }
        .project-introduce h4{
            font-weight: bold;
            margin-top: 12px;
            margin-bottom: 8px;
        }
        .project-introduce li{
            list-style: decimal;
            margin-left: 28px;
        }
        .alert {
            padding: 15px;
            margin-bottom: 10px;
            border: 1px solid transparent;
            border-radius: 4px;
        }
        .alert-info {
            color: #31708f;
            background-color: #d9edf7;
            border-color: #bce8f1;
        }
    </style>
</head>
<body class="timo-layout-page">
<div class="layui-row layui-col-space15">
    <div class="">
        <div class="layui-card">
            <div class="layui-card-header">项目介绍</div>
            <div class="layui-card-body project-introduce">
                <div>
                    <h4>技术选型</h4>
                    <ol>
                        <li>后端技术：SpringBoot + Spring Data Jpa + Thymeleaf + Shiro + EhCache</li>
                        <li>前端技术：Layui + Jquery + zTree + Font-awesome</li>
                    </ol>
                </div>
                <div>
                    <h4>功能列表</h4>
                    <ol>
                        <li>用户管理：用于管理后台系统的用户，可进行增删改查等操作。</li>
                        <li>角色管理：分配权限的最小单元，通过角色给用户分配权限。</li>
                        <li>菜单管理：用于配置系统菜单，同时也作为权限资源。</li>
                        <li>部门管理：通过不同的部门来管理和区分用户。</li>
                        <li>字典管理：对一些需要转换的数据进行统一管理，如：男、女等。</li>
                        <li>行为日志：用于记录用户对系统的操作，同时监视系统运行时发生的错误。</li>
                        <li>文件上传：内置了文件上传接口，方便开发者使用文件上传功能。</li>
<!--                        <li>代码生成：可以帮助开发者快速开发项目，减少不必要的重复操作，花更多精力注重业务实现。</li>-->
<!--                        <li>表单构建：通过拖拽的方式快速构建一个表单模块。</li>-->
<!--                        <li>数据接口：根据业务代码自动生成相关的api接口文档</li>-->
                    </ol>
                </div>

                <div shiro:hasPermission="system:menu:index">
                    <h4>开发代码生成注意事项</h4>
                    <ol>
                        <li>必需字段：id和status。而且status必须为tinyint类型</li>
                    </ol>
                </div>

                <div shiro:hasPermission="system:menu:index">
                    <h4>常用组件使用说明</h4>
                    <ol>
                        <li>引用字典的下拉框：&lt;select class="timo-search-select layui-input" name="status" mo:dict="SEARCH_STATUS" mo-selected="${param.status}"&gt;&lt;/select&gt; 其中，mo-selected属于支持传入队列值</li>
                        <li>数据结构为Map的下拉框：&lt;select name="type" mo:list="${fieldType}" mo-selected="${item.type}" class="layui-input"&gt;&lt;/select&gt; 其中，mo-selected属于支持传入队列值</li>
                        <li>数据结构为对象数组的下拉框：&lt;div th:replace="/common/fragment :: selectTag('leader_id',${users},${leaderId},'id','nickname','')"&gt;&lt;/div&gt;</li>
                        <li>checkbox多选：&lt;div th:replace="/common/fragment :: checkboxs('leader_id',${users},${selectedIds},'id','nickname','')"&gt;&lt;/div&gt;</li>
                        <li>
                            日期控件：使用的是laydate，用法如下：
<pre>
layui.use(['laydate'],function () {
    var laydate = layui.laydate
    laydate.render({
    elem: '#startTime'
    });
});</pre>
                        </li>
                        <li>
                            图片上传：
                            <pre>
                            &lt;button type="button" class="layui-btn upload-image" name="image[]"
                                         th:attr="up-url=@{/upload/image}" up-field="path">
                                &lt;i class="layui-icon">&#xe67c;&lt;/i>上传图片
                            &lt;/button>
                            </pre>，服务端接收代码参考：UploadController.java
                        </li>
                    </ol>
                </div>
            </div>
        </div>
    </div>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>

